/*
 * @Description:
 * @Version: 2.0
 * @Autor: zhangjx
 * @Date: 2023-05-27 17:05:22
 * @LastEditors: uphldjx 1373577124@qq.com
 * @LastEditTime: 2024-07-11 10:45:58
 */
import { ElCheckboxGroup, ElInput, ElRadioGroup, ElAvatar, ElInputNumber, ElTimePicker } from 'element-plus'
import dynamicPage from '@/components/AplidCrud/src/AplidForm/dynamic.vue'
import dynamicForm from '@/components/AplidCrud/src/AplidDynamic/index.vue'
import uploadPage from '@/components/AplidCrud/src/AplidUpload/index.vue'
import remoteSelect from '@/components/AplidCrud/src/AplidRemote/index'
import IconSelect from '@/views/aplid/IconSelect/index.vue'
import DatePicker from '@/views/aplid/DatePicker/index'
import SelectPage from '@/views/aplid/Select/index'
import RadioPage from '@/views/aplid/Radio/index'
import AplidAreaSelect from '../src/AplidAreaSelect'
import DividerHtml from '@/views/aplid/DividerHtml/index.vue'
import RangeValue from '@/views/aplid/RangeValue/index.vue'
import wangeditor from '@/views/aplid/wangeditor/index.vue'
import DateBetween from '@/views/aplid/DateBetween/index.vue'
import BuildRoomBed from '@/views/aplid/BuildRoomBed/index.vue'
import ToDoLists from '@/components/WorkSpace/ToDoLists/index.vue'
import MsgNotice from '@/components/WorkSpace/MsgNotice/index.vue'
import QuickOperate from '@/components/WorkSpace/QuickOperate/index.vue'
import MonthRange from '@/views/aplid/monthRange/index'
import autoSelect from '../src/AplidAutoSelect/index.vue'
import DragUpload from '@/views/aplid/DragUpload/index.vue'
import HtmlLabel from '@/components/HtmlLabel/index.vue'

type optionType = {
	label: string
	value: string
}
export type ruleType = {
	required?: Boolean
	message?: string
	type?: string
}
export interface columnType {
	label?: string
	prop?: string
	type?: string
	span?: number
	display?: boolean
	dicData?: Array<optionType>
	rules?: Array<ruleType>
}

export const getComponentCollecte = (): any => {
	return {
		HtmlLabel,
		input: ElInput,
		password: ElInput,
		text: ElInput,
		number: ElInputNumber,
		select: SelectPage,
		radio: RadioPage,
		textarea: ElInput,
		// radio: ElRadioGroup,
		checkbox: ElCheckboxGroup,
		date: DatePicker,
		year: DatePicker,
		month: DatePicker,
		monthrange: MonthRange,
		datetime: DatePicker,
		datetimerange: DatePicker,
		daterange: DatePicker,
		dateBetween: DateBetween,
		timePicker: ElTimePicker,
		avatar: ElAvatar,
		dynamic: dynamicPage,
		dynamicForm: dynamicForm,
		upload: uploadPage,
		DragUpload,
		remoteSelect: remoteSelect,
		IconSelect: IconSelect,
		AplidAreaSelect: AplidAreaSelect,
		DividerHtml: DividerHtml,
		RangeValue: RangeValue,
		ueditor: wangeditor,
		ToDoLists,
		MsgNotice,
		QuickOperate,
		BuildRoomBed,
		autoSelect,
	}
}
